import api from '../index'

/**
 * 建议反馈接口定义
 */
export interface Suggestions {
  suggestionId: number
  suggestionContent: string
  suggestionsTitle: string
  suggestionContentEn: string
  userId: number
  suggestType: string
  suggestionFeedback: string
  suggestionFeedbackEn: string
  infringementUrl: string
  url: string
  createdAt: string
  feedbackTime: string
  status: string
  nickName: string
  telephone: string
  uid?: string
}

// 新增接口定义
interface ListParams {
  suggestType?: string
  status?: string
}

export default {
  /**
   * 获取建议反馈列表
   * @param data - 查询参数
   * @param data.suggestionContent - 可选，按反馈内容模糊查询
   * @returns 建议反馈列表
   */
  list: (data: ListParams) => api.get(`/system/suggestion/list`, {
    params: {
      suggestType: data.suggestType,
      status: data.status,
    },
  }),

  /**
   * 获取建议反馈详情
   * @param id - 建议反馈ID
   * @returns 建议反馈详情数据
   */
  detail: (id: number | string) => api.get<Suggestions>(`/system/suggestion/getInfo`, {
    params: {
      suggestionId: id,
    },
  }),

  /**
   * 创建建议反馈
   * @param data - 建议反馈数据
   * @param data.suggestionContent - 必填，建议内容
   * @param data.userId - 必填，提交用户ID
   * @param data.suggestType - 必填，建议类型
   * @param data.status - 必填，处理状态
   * @returns 创建结果
   */
  create: (data: Suggestions) => api.post('/system/suggestion/add', data, {
  }),

  /**
   * 编辑建议反馈
   * @param data - 建议反馈数据
   * @param data.suggestionId - 必填，建议反馈ID
   * @param data.suggestionFeedback - 必填，反馈内容
   * @param data.status - 必填，更新后的状态
   * @returns 编辑结果
   */
  edit: (data: Suggestions) => api.post('/system/suggestion/edit', data, {
  }),

  /**
   * 删除建议反馈
   * @param id - 要删除的建议反馈ID
   * @returns 删除结果
   */
  delete: (id: number | string) => api.get(`/system/suggestion/del`, {
    params: {
      suggestionId: id,
    },
  }),

  /**
   * 上传侵权证明图片
   * @param file - 要上传的图片文件
   * @returns 上传结果包含图片URL
   */
  uploadAvatar: (file: any) => api.post(`/common/uploadAvatar`, file, {
    headers: {
      'Content-Type': 'multipart/form-data',
    },
  }),
}
